![NTT東日本 クラウドゲートウェイ アプリパッケージでIPv4対応を検証してみた](https://devio2023-media.developers.io/wp-content/uploads/2018/11/eyecatch_aws-direct-connect_1200x630.jpeg)
NTT東日本 クラウドゲートウェイ アプリパッケージでIPv4対応を検証してみた
はじめに
おはようございます、加藤です。NTT東日本が提供するクラウドゲートウェイアプリパッケージがIPv4に対応しました!さっそく、触ってみました!
サービスページ: クラウドゲートウェイ アプリパッケージ | クラウドゲートウェイシリーズ | NTT東日本
クラウドゲートウェイ アプリパッケージとは
クラウドゲートウェイ アプリパッケージは、オンプレミスからAWSへの閉域網、つまりAWS Direct Connect(専用線接続サービス)をまるっと実現してくれるサービスです。
オンプレミスからAWSへは、フレッツ網(閉域)を経由して(インターネットを経由しない)、AWSに接続します。
また、あらかじめ指定した回線以外からの接続をシャットアウトすることができる(回線認証機能)ため、情報セキュリティ対策に効果的です。
クラウドゲートウェイ アプリパッケージの特長 | NTT東日本
構成
今回作成するのはこういった構成です。
AWS側には3つのVPCを用意しました。
用途 | VPC | IPアドレス |
---|---|---|
本番 | AppliPackage-prd-subnet | 10.0.0.0/16 |
検証 | AppliPackage-stg-subnet | 10.1.0.0/16 |
開発 | AppliPackage-dev-subnet | 10.2.0.0/16 |
予備 | 作成していない | 10.3.0.0/16 |
この本番、検証、開発のIPアドレス範囲だけだと、きれいに階層型IPアドレッシングできないので、予備という扱いでAWS側に10.3.0.0/16も割り当て、AWS側は全体で10.0.0.0/14と設計しました。
3つのVirtual Private Gatewayと1つのDirect Connect Gatewayを作成し関連付けを行います。
AWSリソース | リソース名 | BGP ASN | 関連付け対象 |
---|---|---|---|
Direct Connect Gateway | AppliPackage-common-dxgw | 64512 | AWSアカウント |
Virtual Private Gateway | AppliPackage-prd-vgw | 64513 | AppliPackage-prd-vpc |
Virtual Private Gateway | AppliPackage-stg-vgw | 64514 | AppliPackage-stg-vpc |
Virtual Private Gateway | AppliPackage-dev-vgw | 64515 | AppliPackage-dev-vpc |
やってみた
条件
- 下記のいずれかの契約があること
- フレッツ 光ネクスト
- フレッツ 光ライト
- フレッツ 光ライトプラス
- 光コラボレーション事業者が提供する光アクセスサービス
- ルーター
- IPoEに対応していること
- IPIPトンネルに対応していること
NTT東日本へ提供した情報
- AWSアカウント番号
- AWS側で使用するIPアドレス範囲
- LAN側で使用するIPアドレス帯
ルーターへの設定
IPoE接続
初期化された状態の拠点ルーターに対して設定を行います。最初に、ルーターが受け取るIPv6アドレスを連絡する必要があるので、LANケーブルをHGW - ルーター(WAN側)に接続します。
ルーター(LAN側) - 作業端末もLANケーブルで接続します。作業端末はDHCPでアドレスを受け取れたらブラウザでルーターの管理画面(http://192.168.100.1)へ接続します。
下記の手順に従って、IPv6 IPoE接続を確立します。
フレッツ光ネクスト インターネット(IPv6 IPoE)接続 : Web GUI設定
次に保守メニューのコマンド実行から下記のコマンドを実行します。
show ipv6 address
実行結果の中からグローバルのIPv6アドレスを確認し連絡しましょう。
コンフィグ生成・投入
NTT東日本からコンフィグ作成用のツール(Excel)を提供して貰えるので、それを使ってコンフィグを生成します。 入力するパラメータは下記の通りです。
パラメータ | 備考 |
---|---|
NTT東西エリア | 東日本 or 西日本 |
HGW(ひかり電話契約の有無) | |
ルーターの機種名 | NEC(IXシリーズ)に対応 |
AmazonルーターのピアIP(1本目) | NTT東日本より通知 |
AmazonルーターのピアIP(2本目) | NTT東日本より通知 |
AWS VPC IPv4 CIDR | Direct Connect Gatewayで複数VPCを利用する場合はCIDR結合した範囲で入力する |
オンプレミス LAN側 IPv4 CIDR |
その他にもオンプレミスLAN側のDHCP有効/無効やIPv4 PPPoEの設定なども項目がありますが、AWSとの接続に直接関係が無いので省略します。
新品のルーターにすぐにセットアップができる様に、一般的に必要とされる設定もまとめてできるようにといった配慮だと思われます、親切設計ですね。
生成されたコンフィグをIPv6アドレスを確認した時と同様にコマンド実行から投入します。
サンプルコンフィグは下記の通りです。一部のアドレスはマスクしています。
私が今回作成したコンフィグの場合は、ルーターのLAN側IPアドレスが 192.168.100.1 → 192.168.100.254
に変更されるので参考にする場合はご注意ください。
timezone +09:00 console prompt RTX810 # # IP configuration # ip route 10.0.0.0/14 gateway tunnel 1 ip route ***.***.***.***/29 gateway tunnel 1 ip keepalive 1 icmp-echo 20 3 ***.***.***.*** # # IPv6 configuration # ipv6 prefix 1 dhcp-prefix@lan2::/64 # # LAN configuration # ip lan1 address 192.168.100.1/24 ipv6 lan1 address dhcp-prefix@lan2::1/64 ipv6 lan1 rtadv send 1 o_flag=on ipv6 lan1 dhcp service server ip lan2 address dhcp ip lan2 proxyarp on ipv6 lan2 secure filter in 101030 101031 101032 101098 ipv6 lan2 secure filter out 101099 dynamic 101080 101081 101082 101083 101084 101085 101098 101099 ipv6 lan2 dhcp service client ngn type lan2 ntt # # Provider Type configuration # provider lan1 name LAN: provider lan2 name ipv6 PRV/0/4/0/0/2/1: # # PP configuration # pp disable all # # TUNNEL configuration # no tunnel enable all ### TUNNEL 1 ### tunnel select 1 tunnel encapsulation ipip tunnel endpoint address ****:****::****:::2 ip tunnel mtu 1460 ip tunnel tcp mss limit auto tunnel enable 1 # # IP filter configuration # ip filter 500000 restrict * * * * * # # IPv6 filter configuration # ipv6 filter 101030 pass * * icmp6 * * ipv6 filter 101031 pass * * tcp * ident ipv6 filter 101032 pass * * udp * 546 ipv6 filter 101098 reject * * * * * ipv6 filter 101099 pass * * * * * # # IPv6 dynamic filter configuration # ipv6 filter dynamic 101080 * * ftp ipv6 filter dynamic 101081 * * domain ipv6 filter dynamic 101082 * * www ipv6 filter dynamic 101083 * * smtp ipv6 filter dynamic 101084 * * pop3 ipv6 filter dynamic 101085 * * submission ipv6 filter dynamic 101098 * * tcp ipv6 filter dynamic 101099 * * udp # # SYSLOG configuration # syslog notice off syslog info on syslog debug off # # DHCP configuration # dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.100.2-192.168.100.191/24 # # DHCPC configuration # dhcp client release linkdown on # # DNS configuration # dns service fallback on dns server dhcp lan2 dns private address spoof on # # SIP configuration # sip use on\
AWS側の構築
- ネットワーク
- VPCを3つ作成
- Virtual Private Gateway(VGW)作成後ルートテーブルで伝播を
はい
に変更
- Virtual Private Gateway(VGW)作成後ルートテーブルで伝播を
- VGWを3つ作成
- 各VPCに関連付け
- Direct Connect Gateway(DXGW)を作成
- 各VGWに関連付け
- Vitual Interfaceを承認(NTT東日本から払い出される)
- DXGWに関連付け
- VPCを3つ作成
用途 | VPC | IPアドレス |
---|---|---|
本番 | AppliPackage-prd-subnet | 10.0.0.0/16 |
検証 | AppliPackage-stg-subnet | 10.1.0.0/16 |
開発 | AppliPackage-dev-subnet | 10.2.0.0/16 |
予備 | 作成していない | 10.3.0.0/16 |
AWSリソース | リソース名 | BGP ASN | 関連付け対象 |
---|---|---|---|
Direct Connect Gateway | AppliPackage-common-dxgw | 64512 | AWSアカウント |
Virtual Private Gateway | AppliPackage-prd-vgw | 64513 | AppliPackage-prd-vpc |
Virtual Private Gateway | AppliPackage-stg-vgw | 64514 | AppliPackage-stg-vpc |
Virtual Private Gateway | AppliPackage-dev-vgw | 64515 | AppliPackage-dev-vpc |
VGW
DXGW
オンプレミスから伝播されたルート情報
測定してみた
adolfintel/speedtest: Self-hosted HTML5 Speedtest. Easy setup, examples, configurable, responsive and mobile friendly. Supports PHP, Node, and more.を使って通信速度の測定を行ってみました。環境はm5.largeのDocker on EC2 です。
ボトルネックの調査などを行っていません、あくまで参考値としてご使用ください。
1回目
2回目
3回目
参考: ローカルで測定(Mac)
あとがき
AWSとDirect Connectを開通するには、コネクションポイントと拠点を専用線で繋ぐ必要がありました。今回の方式はその部分をNTTのフレッツ網(NGN IPv6)を使って実現しています。今回は東日本(東京)にて検証を行いましたがコンフィグ生成ツールからもわかるように西日本でも利用が可能です。
エンドではIPv6を意識することなくIPv4通信が可能で非常に便利でした!!
また、弊社サービスのフートコネクトにて今回紹介した「クラウドゲートウェイ アプリパッケージ」を通信基盤として使用するオンプレミスとAWSを繋ぐ閉域網の提供を行っております!ぜひ、ご検討ください!!
AWS閉域網(VPN接続)オプション|クラスメソッドのサービス
- 構成図とDXGWの名前が違いますが、スルーしてください...作成後に命名規則に一貫性が無いことに気づいて構成図を修正しました。 ↩